package pe.com.fastfood4.rie.controller;

import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.ModelAndView;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import pe.com.fastfood4.rie.model.Cliente;
import pe.com.fastfood4.rie.service.ClienteService;

/**
 * RegistrarClienteController.java
 * es llamado desde registrarClienteForm.jsp, envia datos del cliente a la base de datos para ser registrado
 * y le pasa resultado de registro a registrarClienteResultado.jsp
 * @author grupo 06 - upc_dew 2010
 * @since 1.0
 * @see ifernandez.aq@gmail.com
 */
public class RegistrarClienteController implements Controller {
   
   private ClienteService clienteservice;

    public void setClienteservice(ClienteService clienteservice) {
        this.clienteservice = clienteservice;
    }

    protected final Log logger = LogFactory.getLog(getClass());

    public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res) throws Exception {

        int ultimoIdCliente = clienteservice.getUltimoIdCliente();
        logger.info("UltimoIdCliete = " + ultimoIdCliente);
        int idCliente = ultimoIdCliente + 1;
        logger.info("idCliente+1 = " + idCliente);
        
        String nombres = req.getParameter("nombres");
        String apellidoPaterno = req.getParameter("apellidoPaterno");
        String apellidoMaterno = req.getParameter("apellidoMaterno");
        String password = req.getParameter("password");
        String dni = req.getParameter("dni");
        String telefono = req.getParameter("telefono");
        String direccion = req.getParameter("direccion");
        String email = req.getParameter("email");

        logger.info("idCliente = " + idCliente);
        logger.info("nombres = " + nombres);
        logger.info("apellido paterno = " + apellidoPaterno);

        Cliente cliente = new Cliente();
        cliente.setIdCliente(idCliente);
        cliente.setNombres(nombres);
        cliente.setApellidoPaterno(apellidoPaterno);
        cliente.setApellidoMaterno(apellidoMaterno);
        cliente.setPassword(password);
        cliente.setDni(dni);
        cliente.setTelefono(telefono);
        cliente.setDireccion(direccion);
        cliente.setEmail(email);

        this.clienteservice.registrarCliente(cliente);

        String credenciales =  "Codigo Cliente = " + idCliente + ", " + "Password = " + password;

        return new ModelAndView("registrarClienteResultado", "credenciales", credenciales);
    }
}
